热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

差错|首部_计算机网络数据链路层

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络数据链路层相关的知识,希望对你有一定的参考价值。数据链路层1

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络 数据链路层相关的知识,希望对你有一定的参考价值。



数据链路层


  • 1.点对点信道的数据链路层
    • 1.1数据链路和帧
    • 1.2三个基本问题

  • 2.点对点协议PPP
    • 2.1 PPP协议的特点
    • 2.2 PPP协议的帧格式
    • 2.3 PPP协议的工作状态

  • 3.使用广播信道的数据链路层
    • 3.1 局域网的数据链路层
    • 3.2 CSMA/CD协议
    • 3.3 使用集线器的星状拓扑
    • 3.4 以太网的信道利用率
    • 3.5 以太网的MAC层

  • 4.扩展的以太网
    • 4.1 物理层扩展以太网
    • 4.2数据链路层扩展以太网
    • 4.3 虚拟局域网(VLAN)

  • 5.高速以太网


1.点对点信道的数据链路层

1.1数据链路和帧

链路(物理链路);一条无源的点到点的物理线路段(中间没有任何交换节点)
数据链路(逻辑链路):把实现协议的硬件和软件(用适配器(网卡)实现)加到链路上,构成数据链路。(适配器包括数据链路层和物理层。
数据通信协议 叫做通信规程,所以在数据链路层规程与协议是同义词
数据链路层传送的是帧。


1.2三个基本问题

封装成帧:在IP数据报前后分别添加首部和尾部,构成帧。(首部和尾部的一个重要作用是帧界定
帧的最前面是控制字符SOH,最后面是EOT,表示帧的结束

透明传输:无论发送什么样的比特组合数据,这些数据都能按照原样没有差错的通过数据链路层。
数据部分的某个字节的二进制代码和SOH或EOT一样,数据链路层就会找到错误帧边界。
解决方案:字节填充或字符填充。在SOH或EOT的前面插入转义字符ESC,而转义字符也出现在数据中,就在转义字符前面差异一个转义字符。

差错控制:有可能传输错误比特。通过循环冗余检验CRC控制。
CRC原理:

并不能确定哪一个或者那几个比特出现了差错。
实例:

求余运算过程

区分:CRC是检错方法,FCS是冗余码,CRC并非获取FCS的唯一方法

CRC技术只能做到无差错接受:凡是接受的帧,都以非常接近1的概率认为帧在传输的过程中没有差错。(数据链路层接受的帧无传输差错。
但CRC不能做到“无差错传输”或者“可靠传输”

注意:
无比特差错与无传输差错是不同的。
经过CRC能实现无比特差错,但不是可靠传输。
要做到无差错传输,就必须加上确认和重传机制。(纠错码

数据链路层的歇息都不是可靠传输协议。


2.点对点协议PPP

用户到ISP的链路使用PPP协议


2.1 PPP协议的特点

应满足的要求:简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检测,检测连接状态,最大传送单元,网络层地址协商,数据压缩协商,
不需要的功能:纠错,流量控制,序号,多点线路,半双工或单工链路
PPP协议组成有三个部分:1.将IP数据报封装到串行链路的方法 2.链路控制协议(LCP) 3.网络控制协议(NCP)


2.2 PPP协议的帧格式


MTU(最大传输单元)

PPP在异步传输时,使用字符填充法:
0x7E 转换成 (0x7D, 0x5E)。
0x7D 转变成 (0x7D, 0x5D)
ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节

PPP同步传输链路时,比特填充:
在发送端,发现有 5 个连续 1,则填入一个 0;接收端对每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。

PPP协议不提供序号和确认的可靠传输


2.3 PPP协议的工作状态


3.使用广播信道的数据链路层

3.1 局域网的数据链路层

局域网最主要的特点是:1.网络为一个单位所拥有; 2. 地理范围和站点数目均有限。
局域网优点:1. 具有广播功能,从一个站点可很方便地访问全网。2. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。3. 提高了系统的可靠性、可用性和残存性。
媒体共享技术:静态划分信道:频分、时分、波分、码分复用。 动态媒体接入控制:1.随机接入,2.受控接入,如多点线路探寻,或轮询
数据链路层的两个子层:1. 逻辑链路控制 LLC 子层;2. 媒体接入控制 MAC 子层。

适配器功能:1.进行串行/并行转换。2. 对数据进行缓存。3. 在计算机的操作系统安装设备驱动程序。4.实现以太网协议
计算机通过适配器和局域网进行通信


3.2 CSMA/CD协议

CSMA/CD:载波监听多点接入/碰撞检测
工作流程如下图:

争用期:两倍的传播时延。经过争用期的时间检测,才能肯定不会发生碰撞。

退避算法:发生碰撞的站在停止发送数据后,要推迟一个随机时间才能再发送数据。


  1. 基本退避时间取为争用期 。
  2. 从整数集合 [0, 1, … , (2^k - 1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
  3. K = Min[重传次数, 10]
  4. 当 k ≤10 时, k 等于重传次数。
  5. 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

例:

10 Mbit/s 以太网争用期的长度为51.2us。即可发送512bit,64字节
因为如果发生冲突,就一定在前64字节之内,所以最短有效帧长为64字节
而10 Mbit/s下51.2us传播的距离约为5km,意味着以太网最大端到端长度为5km

帧最小间隔:9.6us,一个站检测到总线开始空闲后,还要等待9.6us才能再次发送数据。为的是刚刚收到的数据帧的站接受的缓存来得及处理,做好接受下一帧的准备。

CSMA/CD 协议的重要特性:
1.只能进行半双工通信
2.每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
3.这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。


3.3 使用集线器的星状拓扑


3.4 以太网的信道利用率


成功发送一帧占用信道的时间为T0+tao,比帧的发送时间多一个端到端延时。(因为发送完之后,还要传输。
定义参数:
为了尽可能提高利用率,对a的要求是:1. 当数据率一定时,以太网的连线的长度受到限制
2.以太网的帧长不能太短,否则 T0 的太小
理想情况下(以太网各站发送数据不会产生碰撞),极限信道利用率为:

但现实中,利用率达到30%就已经重载。


3.5 以太网的MAC层

MAC层的硬件地址:
48位MAC地址结构如下:前三个字节为注册机构向厂家分配的组织唯一标识符;后三个字节为厂家自行指派的扩展唯一标识符。

规定:第一个字节的最低位为I/G位,=0时,地址字段表示单站地址;=1时,表示组地址。所谓为0和为1时,一个地址块可以分别生成2^23 个单个地址和 2的23次方个组地址。48个1为广播地址,只能作为目的地址使用。
规定,第一个字节的最低第二位为 G/L位,=0时,是全球管理; =1时,是本地管理。
适配器从网络上每收到一个 MAC 帧就首先检查MAC 地址。如果是发往本站的帧则收下,然后处理;否则就将此帧丢弃。
发往本站的帧包含三种:单播,广播,多播。
所有适配器至少能识别两种帧:单播和广播。有的适配器可以识别多播地址。

MAC帧的格式:

对于检查的无效MAX帧就简单的丢弃,以太网不负责重传丢弃的帧。
帧间最小间隔:9.6us,(96bit发送时间),一个站在检测到总线开始空闲后 ,还要等9.6us才能再次发送数据,为的是刚接收到的数据帧来得及处理。


4.扩展的以太网

现在的逻辑应该是:现在物理层可扩展,再在链路层扩展。


4.1 物理层扩展以太网

使用光纤扩展:用光纤和一对调制解调器练到集线器,容易使主机和几公里之外集线器连接。

使用集线器扩展:将多个以太网连成更大、多级星状结构的以太网。
优点:1.扩大以太网覆盖范围,2.使在不同碰撞域的网上的计算机能跨碰撞域通信
缺点:1.扩大了碰撞域,但未提高吞吐量。2.不同碰撞域使用不同数据率,就不用集线器互连。


4.2数据链路层扩展以太网

早期使用网桥,现在使用交换机。(交换机=多接口的网桥
每个接口一般都工作在全双工的方式。交换机具有并行性:同时联通多对接口,是多对主机同时通信。

以太网交换机特点:1.相互通信的主机独占传输媒体,无碰撞的传输数据。2.以太网交换机的接口有存储器,可以在接口繁忙时缓存传进来的帧。3.交换机是即插即用的设备,内部的交换表通过自学习算法建立。4.交换机内部使用了专用的交换结构芯片,用硬件转发,转发速率比用软件转发的网桥快很多。5.交换机性能远超集线器,价格不贵。
以太网交换机优点:1.用户独享带宽,增加了容量。(见下图分析)2.从总线到交换式以太网时,所有设备的软硬件等不需要任何改动。3.有多种速率的接口,方便各种不同情况使用。


交换机的交换方式:存储转发(先缓存,再处理),直通方式:接收到数据后立即决定转发接口,(缺点:不检查差错就直接转发出去,所以可能出错。

交换机的自学习功能:


自学习算法可能存在环路问题。为了解决该问题,采用STP:
交换机使用了生成树协议(STP):不改变网络拓扑结构,使所有的路径是无环路的树状结构,从而消除兜圈子的现象。

早期以太网采用无源的总线结构,使用CSMA/CD 协议,半双工;现在,大多采用以太网交换机的星状结构,不使用CSMA/CD,全双工,但仍然采用以太网的帧结构。


4.3 虚拟局域网(VLAN)

只是局域网给用户提供的一种服务,并不是一种新型局域网。

虚拟局域网限制了接收广播信息的工作站数,是网络不会因传播过多广播信息而引起性能恶化。
优点:改善了性能,简化了管理,降低了成本,改善了安全性。
划分局域网的方法:
1.基于交换机端口:简单常用的方法,属于第一层划分虚拟局域网。缺点:但不允许用户移动。

2.基于网卡的MAC地址:根据用户的MAC地址划分,属于第二层次的划分,允许用户移动。缺点:需要输入管理大量的MAC地址。若MAC地址改变,则需要管理员重新配置VLAN

3.基于协议类型:根据以太网帧的第三个字段类型确定属于哪一个虚拟局域网,属于第二层次划分虚拟局域网。

4.基于IP子网地址:根据以太网帧的第三个字段“类型”和IP分组首部中的源IP地址划分。属于第三层划分方法。

5.基于高层应用或服务:根据高层次应用或服务或者他们的组合划分。更灵活,更复杂。


5.高速以太网

速率超过100Mbit/s的以太网称为高速以太网。下面简单介绍主要有哪些
100BASE-T 以太网,又称为快速以太网。
吉比特以太网
10 吉比特以太网 (10GE) 和更快的以太网
使用以太网进行宽带接入


推荐阅读
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 如何在JavaScript中实现字符到ASCII码的转换 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在Linux系统中,`inet_pton` 和 `inet_ntop` 是两个重要的IP地址转换函数,它们能够实现IP地址在“点分十进制”和“整数”格式之间的相互转换。特别是 `inet_pton`,它不仅支持IPv4,还支持IPv6地址的转换,广泛应用于网络编程中,确保了不同格式IP地址的高效处理和兼容性。本文将详细探讨这两个函数的内部实现机制及其在网络编程中的具体应用。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
author-avatar
生活是多么美好888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有